package org.pupil.invoke;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

/**
 * @Description: 目标方法信息类，记录调用过的方法
 * @Author: pupil
 * @Date: 2024/07/09 下午 6:15
 */
public class MethodInvocation {

    private Object o; // 类的实例化对象

    private Method method; // 调用的目标方法

    public MethodInvocation(Object o, Method method) {
        this.o = o;
        this.method = method;
    }

    // 反射调用方法，传入方法的参数进行调用
    public Object invoke(Object parameter) throws InvocationTargetException, IllegalAccessException {
        return method.invoke(o,parameter);
    }
}
